package fr.efrei.tradesys.hibernate.factory;

import fr.efrei.tradesys.hibernate.dao.AppUserDao;
import fr.efrei.tradesys.hibernate.dao.CurrencyDao;
import fr.efrei.tradesys.hibernate.dao.OwnedDao;
import fr.efrei.tradesys.hibernate.dao.RateDao;
import fr.efrei.tradesys.hibernate.daoImpl.AppUserDaoImpl;
import fr.efrei.tradesys.hibernate.daoImpl.CurrencyDaoImpl;
import fr.efrei.tradesys.hibernate.daoImpl.OwnedDaoImpl;
import fr.efrei.tradesys.hibernate.daoImpl.RateDaoImpl;

public class DaoFactory
{

	private static DaoFactory	instance	= new DaoFactory();
	private AppUserDao				appUserDao;
	private CurrencyDao				currencyDao;
	private OwnedDao					ownedDao;
	private RateDao						rateDao;

	public DaoFactory()
	{
		this.appUserDao = AppUserDaoImpl.getInstance();
		this.currencyDao = CurrencyDaoImpl.getInstance();
		this.ownedDao = OwnedDaoImpl.getInstance();
		this.rateDao = RateDaoImpl.getInstance();
	}

	public static DaoFactory getInstance()
	{
		return instance;
	}

	public AppUserDao getAppUserDao()
	{
		return appUserDao;
	}

	public void setAppUserDao(AppUserDao appUserDao)
	{
		this.appUserDao = appUserDao;
	}

	public CurrencyDao getCurrencyDao()
	{
		return currencyDao;
	}

	public void setCurrencyDao(CurrencyDao currencyDao)
	{
		this.currencyDao = currencyDao;
	}

	public OwnedDao getOwnedDao()
	{
		return ownedDao;
	}

	public void setOwnedDao(OwnedDao ownedDao)
	{
		this.ownedDao = ownedDao;
	}

	public RateDao getRateDao()
	{
		return rateDao;
	}

	public void setRateDao(RateDao rateDao)
	{
		this.rateDao = rateDao;
	}

}
